有C语言问题了``````

来源:百度知道 编辑:UC知道 时间:2024/06/19 01:04:24
#include "stdio.h"
main()
{ double x,y;
printf("%lf",(x=1,y=x+3/2));
}
为什么(x=1,y=x+3/2)这个表达式的值是2.0谁知道为什么啊,说说哈1``````

#include "stdio.h"
main()
{ double x,y;
printf("%lf",(x=1,y=x+3/2));
}
x=1先给x赋值为1
然后计算y=1+3/2其中3/2是整型相除结果是1 加1则为2
在形如(,)的表达式中 输出结果取最后一个表达式 称为逗号表达式
而用%lf输出 所以答案是2.0

因为3/2是整形,不是浮点形,所以是2.0

注意数据类型。